package tools

import (
	"Test/xunjian_v3/conf"
	"github.com/xuri/excelize/v2"
)

func ReadExcel(filename string) (rows [][]string, err error) {
	rows = make([][]string, 0, 100)

	// 读取excel，获取所有API
	f, err := excelize.OpenFile(filename)
	if err != nil {
		panic(err)
	}

	if conf.Allsheet == "true" {
		conf.Sheet = "" //为了避免在最终打印结果时显示sheet名，造成歧义
		for _, sheet := range f.GetSheetList() {
			//sheetRows := make([][]string,64)
			sheetRows, err := f.GetRows(sheet)
			if err != nil {
				panic(err)
			}
			for i, r := range sheetRows {
				if i == 0 {
					continue
				}
				newRow := make([]string, 20) // 先创建一个新行，为了避免excelize遇到行右侧无字符就结束，元素过少可能造成使用时数组越界
				copy(newRow, r)
				rows = append(rows, newRow)
			}

		}
	} else {
		sheetRows, err := f.GetRows(conf.Sheet)
		if err != nil {
			panic(err)
		}
		for i, r := range sheetRows {
			if i == 0 {
				continue
			}
			newRow := make([]string, 20) // 先创建一个新行，为了避免excelize遇到行右侧无字符就结束，元素过少可能造成使用时数组越界
			copy(newRow, r)
			rows = append(rows, newRow)
		}
	}

	return rows, err
}
